from typedef cimport *
from base cimport *

cdef extern from 'stdafx.h':
    ctypedef BOOL (*FunCallback)(IEvtArgs *pEvt, void *Ctx)
    ctypedef BOOL (*FunMsgHandler)(const LPMSG pMsg, LRESULT *pRes, void *ctx)

    ctypedef struct IEvtArgsVtbl:
        int GetID(IEvtArgs* this)
        LPCWSTR GetName(IEvtArgs* this)
        IObject* Sender(IEvtArgs* this)
        int IdFrom(IEvtArgs* this)
        void SetIdFrom(IEvtArgs* this, int id)
        LPCWSTR NameFrom(IEvtArgs* this)
        void SetNameFrom(IEvtArgs* this, LPCWSTR name)
        BOOL IsBubbleUp(IEvtArgs* this)
        void SetBubbleUp(IEvtArgs* this, BOOL bBubbleUp)
        UINT HandleCount(IEvtArgs* this)
        void IncreaseHandleCount(IEvtArgs* this)
        LPVOID Data(IEvtArgs* this)

    ctypedef struct IEvtArgs:
        IEvtArgsVtbl* lpVtbl
